/*
 * linked_list.h
 *
 *  Created on: Jul 20, 2012
 *      Author: hxu
 */

#ifndef LINKED_LIST_H_
#define LINKED_LIST_H_

#include "Node.h"
#include<string>
#include<iostream>

class linked_list
{
public:
	linked_list(Node*);
	linked_list(const std::string& text);
	virtual ~linked_list();
	Node* get_head() const;
	void remove_duplicate();
	void print_n_to_last(int n);
	void delete_node(Node* node);

	// friend functions
	friend std::ostream& operator<< (std::ostream& out, const linked_list& llist);

private:
	Node* head;
};

#endif /* LINKED_LIST_H_ */
